package com.pkk.cloud.support.gataway.spring.constant;

import lombok.Getter;

/**
 * @description: 网关过滤的类型
 * @author: peikunkun
 * @create: 2019-08-06 17:27
 **/
@Getter
public enum ZuulFilterType {

  /**
   * 这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等
   */
  PRE,

  /**
   * ROUTING：这种过滤器将请求路由到微服务。这种过滤器用于构建发送给微服务的请求，并使用Apache HttpClient或Netfilx Ribbon请求微服务
   */
  ROUTING,

  /**
   * 这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端等
   */
  POST,

  /**
   * 在其他阶段发生错误时执行该过滤器。 除了默认的过滤器类型，Zuul还允许我们创建自定义的过滤器类型。 例如，我们可以定制一种STATIC类型的过滤器，直接在Zuul中生成响应，而不将请求转发到后端的微服务
   */
  ERROR;

}
